Symbolic Data Flow Analysis for Detecting Deadlocks in Ada Tasking Programs
نویسندگان
چکیده
It is well accepted that designing and analyzing concurrent software-components are tedious tasks. Assuring the quality of such software requires formal methods, which can statically detect deadlocks. This paper presents a symbolic data ow analysis framework for detecting deadlocks in Ada programs with tasks. The symbolic data ow framework is based on symbolic evaluation { an advanced technique to statically determine properties of programs. The framework can guarantee the deadlock-freeness for an arbitrary hardware environment. Our approach diiers from existing work in that tasks can be dynamically created and completed in the program. Examples are used to illustrate our approach.
منابع مشابه
Tasking Deadlocks in Ada 95 Programs and Their Detection
Tasking deadlock is one of the most serious and complex problems concerning the reliability of concurrent systems with Ada. In this paper, tasking deadlocks which may occur in Ada 95 programs are investigated, a representation, named the Task-Wait-For Graph, for task synchronization waiting state of an Ada 95 program is proposed, and a runtime detection method for the tasking deadlocks based on...
متن کاملAutomatic Translation of Ada-ECATNet Using Rewriting Logic
One major difficulty that faces developers of concurrent and distributed software is analysis for concurrency based faults like deadlocks. Petri nets are used extensively in the verification of correctness of concurrent programs. ECATNets are a category of algebraic Petri nets based on a sound combination of algebraic abstract types and high-level Petri nets. ECATNets have 'sound' and 'complete...
متن کاملDouble Reduction of Ada-ECATNet Representation using Rewriting Logic
One major difficulty that faces developers of concurrent and distributed software is analysis for concurrency based faults like deadlocks. Petri nets are used extensively in the verification of correctness of concurrent programs. ECATNets [2] are a category of algebraic Petri nets based on a sound combination of algebraic abstract types and high-level Petri nets. ECATNets have 'sound' and 'comp...
متن کاملAn Application of Petri Net Reduction for Ada Tasking Deadlock Analysis
As part of our continuing research on using Petri nets to support automated analysis of Ada tasking behavior, we have investigated the application of Petri net reduction for deadlock analysis. Although reachability analysis is an important method to detect deadlocks, it is in general inefficient or even intractable. Net reduction can aid the analysis by reducing the size of the net while preser...
متن کاملData Dependency Graphs for Ada Programs
We present a novel compositional method of constructing data dependency graphs for Ada programs. These graphs are useful in a program development environment for analyzing data dependencies and tracking information flow within a program. Graphs for primitive program statements are combined together to form graphs for larger program units. Composition rules are described for iteration, recursion...
متن کامل